#ifndef HEAP_SORT_H
#define HEAP_SORT_H

#define INT_NAN (0xFFFFFFFF - 1)

typedef struct tree_node{
    struct tree_node *left;
    struct tree_node *right;
    int data;
    int height;
}tree_node_t;
extern tree_node_t *new_tree_node(int data);
extern int heap_sort_get_node(tree_node_t **root);
extern void heap_sort_insert_node(tree_node_t **root, int data);
extern void destroy_heap_tree(tree_node_t *root);
extern void tree_print(tree_node_t *root);

#endif // HEAP_SORT_H
